isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
↳ QTRS
↳ DependencyPairsProof
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
IF6(false, false, y, xs, ys, x) -> SUMLIST2(ys, x)
P1(s1(s1(x))) -> P1(s1(x))
SUMLIST2(xs, y) -> P1(head1(xs))
SUMLIST2(xs, y) -> HEAD1(xs)
SUMLIST2(xs, y) -> TAIL1(xs)
IF6(false, true, y, xs, ys, x) -> SUMLIST2(xs, y)
SUMLIST2(xs, y) -> INC1(y)
SUMLIST2(xs, y) -> ISZERO1(head1(xs))
SUMLIST2(xs, y) -> ISEMPTY1(xs)
SUM1(xs) -> SUMLIST2(xs, 0)
INC1(s1(x)) -> INC1(x)
SUMLIST2(xs, y) -> IF6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IF6(false, false, y, xs, ys, x) -> SUMLIST2(ys, x)
P1(s1(s1(x))) -> P1(s1(x))
SUMLIST2(xs, y) -> P1(head1(xs))
SUMLIST2(xs, y) -> HEAD1(xs)
SUMLIST2(xs, y) -> TAIL1(xs)
IF6(false, true, y, xs, ys, x) -> SUMLIST2(xs, y)
SUMLIST2(xs, y) -> INC1(y)
SUMLIST2(xs, y) -> ISZERO1(head1(xs))
SUMLIST2(xs, y) -> ISEMPTY1(xs)
SUM1(xs) -> SUMLIST2(xs, 0)
INC1(s1(x)) -> INC1(x)
SUMLIST2(xs, y) -> IF6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
INC1(s1(x)) -> INC1(x)
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
INC1(s1(x)) -> INC1(x)
POL(INC1(x1)) = x1
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
P1(s1(s1(x))) -> P1(s1(x))
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
P1(s1(s1(x))) -> P1(s1(x))
POL(P1(x1)) = 1 + x1
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
IF6(false, false, y, xs, ys, x) -> SUMLIST2(ys, x)
IF6(false, true, y, xs, ys, x) -> SUMLIST2(xs, y)
SUMLIST2(xs, y) -> IF6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
isEmpty1(cons2(x, xs)) -> false
isEmpty1(nil) -> true
isZero1(0) -> true
isZero1(s1(x)) -> false
head1(cons2(x, xs)) -> x
tail1(cons2(x, xs)) -> xs
tail1(nil) -> nil
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(s1(0)) -> 0
p1(0) -> 0
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
sumList2(xs, y) -> if6(isEmpty1(xs), isZero1(head1(xs)), y, tail1(xs), cons2(p1(head1(xs)), tail1(xs)), inc1(y))
if6(true, b, y, xs, ys, x) -> y
if6(false, true, y, xs, ys, x) -> sumList2(xs, y)
if6(false, false, y, xs, ys, x) -> sumList2(ys, x)
sum1(xs) -> sumList2(xs, 0)